package com.yiji.fintech.musfinance.common.domain;

import com.acooly.core.utils.Money;
import com.yiji.fintech.musfinance.center.deposit.order.facade.OnlineFacadeOrder;
import com.yiji.fintech.musfinance.common.annotation.ChannelContext2Domain;
import com.yiji.fintech.musfinance.common.annotation.Order2Domain2Event;
import com.yiji.fintech.musfinance.common.annotation.RuleStrategyAnnotation;
import com.yiji.fintech.musfinance.common.domain.base.DepositDomain;
import com.yiji.fintech.musfinance.common.eventbus.event.OnlineEvent;
import com.yiji.fintech.musfinance.common.strategy.converter.Context2DepositDomainStrategy;
import com.yiji.fintech.musfinance.common.strategy.enginerules.DepositRulesStrategy;
import com.yiji.fintech.musfinance.service.TransactionDeopsitService;
import lombok.Data;

/**
 * 表单充值
 * Created by ouwen@yiji.com} on 2017/10/15.
 */
@Order2Domain2Event(eventClass = OnlineEvent.class,
        orderClass = OnlineFacadeOrder.class,
        dbServiceClass = TransactionDeopsitService.class)
@RuleStrategyAnnotation(strategyClass = DepositRulesStrategy.class)
@ChannelContext2Domain(c2dsClass = Context2DepositDomainStrategy.class)
@Data
public class OnlineDomain extends DepositDomain {
    /**商品标题*/
    private String goodsTitle;
    /**商品描述*/
    private String goodsMemo;
    /**付款金额*/
    private Money amount;
    /**银行编码*/
    private String bankId;
}
